#根据不同的城市和x,y， 来设定不同的范围

#江南野外
def city_0(x, y):
    # 左侧区域（x <= 50）
    if x <= 50:
        if y <= 50:
            return [3]           # 左下
        elif y < 70:
            return [1, 3]        # 左侧
        else:
            return [1]           # 左上

    # 中间区域（50 < x < 90）
    elif x < 90:
        if y <= 60:
            return [1, 3] if y >= x else [3, 4]  # 左侧或下侧
        else:
            return [1] if y >= x else [4]       # 左上或右下

    # 右侧区域（x >= 90）
    else:
        if y <= 60:
            return [4]                          # 右下
        else:
            return [1, 2] if y >= x else [2, 4]  # 上侧或右侧

#大唐境外
def city_1(x, y):
    # 左侧区域（x <= 50）
    if x <= 50:
        if y <= 50:
            return [3]           # 左下
        elif y < 70:
            return [1, 3]        # 左侧
        else:
            return [1]           # 左上

    # 中间区域（50 < x < 330）
    elif x < 330:
        if y <= 60:
            return [1, 3] if y >= x else [3, 4]  # 下侧或左侧
        else:
            return [1] if y >= x else [1,4]       # 左上或左下

    # 右侧区域（x >= 90）
    else:
        if y <= 60:
            return [4]    # 右下
        else:
            return [2, 4]  # 右侧

#建邺城
def city_2(x,y):   
    # 左侧区域（x <= 50）
    if x <= 50:
        if y <= 50:
            return [3]           # 左下
        elif y < 70:
            return [1, 3]        # 左侧
        else:
            return [1]           # 左上

    # 中间区域（50 < x < 150）
    elif x < 150:
        if y <= 70:
            return [1, 3] if y >= x else [3, 4]  # 下侧或左侧
        else:
            return [1] if y >= x else [1,4]       # 左上或左上右下

    # 右侧区域（x >= 150）
    else:
        if y <= 60:
            return [4]    # 右下
        else:
            return [2, 4]  # 右侧
        
# 朱紫国      
def city_3(x,y):  
    
    # 左侧区域（x <= 50）
    if x <= 50:
        if y <= 50:
            return [3]           # 左下
        elif y < 70:
            return [1, 3]        # 左侧
        else:
            return [1]           # 左上

    # 中间区域（50 < x < 100）
    elif x < 100:
        if y <= 60:
            return [1, 3] if y >= x else [3, 4]  # 左侧或下侧
        else:
            return [1] if y >= x else [1,4]       # 左上或左上右下

    # 右侧区域（x >= 100）
    else:
        if y <= 60:
            return [4]    # 右下
        else:
            return [1,2] if y >= x else [2,4] #  上侧或右侧
#傲来国           
def city_4(x,y):
    # 左侧区域（x <= 50）
    if x <= 50:
        if y <= 50:
            return [3]           # 左下
        elif y < 70:
            return [1, 3]        # 左侧
        else:
            return [1]           # 左上

    # 中间区域（50 < x < 110）
    elif x < 110:
        if y <= 70:
            return [1, 3] if y >= x else [3, 4]  # 左侧或下侧
        else:
            return [1] if y >= x else [1,4]       # 左上或左上右下

    # 右侧区域（x >= 110）
    else:
        if y <= 70:
            return [4]    # 右下
        else:
            return [1,2] if y >= x else [2,4] #  上侧或右侧

#宝象国    
def city_5(x,y):    
    # 左侧区域（x <= 50）
    if x <= 50:
        if y <= 50:
            return [3]           # 左下
        else:
            return [1]           # 左上

    # 中间区域（50 < x < 80）
    elif x < 80:
        if y <= 50:
            return [3, 4]  # 左侧或下侧
        else:
            return [1] if y >= x else [1,4]       # 左上或左上右下

    # 右侧区域（x >= 110）
    else:
        if y <= 50:
            return [4]    # 右下
        else:
            return [1,2] if y >= x else [2,4] #  上侧或右侧

 #西凉女国
def city_6(x,y): 
    # 左侧区域（x <= 50）
    if x <= 50:
        if y <= 50:
            return [3]           # 左下
        elif y < 70:
            return [1, 3]        # 左侧
        else:
            return [1]           # 左上

    # 中间区域（50 < x < 90）
    elif x < 90:
        if y <= 60:
            return [1, 3] if y >= x else [3, 4]  # 左侧或下侧
        else:
            return [1] if y >= x else [1,4]       # 左上或左上右下

    # 右侧区域（x >= 90）
    else:
        if y <= 60:
            return [4]    # 右下
        else:
            return [1,2] if y >= x else [2,4] #  上侧或右侧

#女儿村
def city_7(x,y):
    # 左侧区域（x <= 50）
    if x <= 50:
        if y <= 50:
            return [3]           # 左下
        elif y < 70:
            return [1, 3]        # 左侧
        else:
            return [1]           # 左上

    # 中间区域（50 < x < 70）
    elif x < 70:
        if y <= 50:
            return  [3, 4]  # 下侧
        elif y <= 70:   
            return  [1, 2]   # 左侧
        else:
            return [1]       # 左上

    # 右侧区域（70 <= x < 130）
    elif x < 130:
        if y <= 70:
            return  [1, 4] if y >= x else [4]       # 左上右下或右下
        else:
            return [1, 2] if y >= x else [2, 4]      # 上侧或右侧
    
    else:
        if y <= 20:
            return [1]      # 左下
        else:
            return [1, 3]   # 左侧

#长寿村
def city_8(x,y):    
    # 左侧区域（x <= 50）
    if x <= 50:
        if y <= 50:
            return [3]           # 左下
        elif y <= 100:
            return [1]           # 左上
        elif y <= 150:
            return [1, 3]           # 左侧
        else:
            return [1]           # 左上

    # 中间区域（50 < x < 90）
    elif x < 90:
        if y <= 50:
            return  [3, 4]  # 下侧
        elif y <= 100:   
            return  [1] if y >=x else  [4]   # 左上或右下
        elif y <= 150:
            return [1, 3]           # 左侧
        else:
            return [1]           # 左上

    # 右侧区域（x >=90）
    else:
        if y <= 50:
            return   [4]       # 右下
        elif y <= 100:   
            return  [1, 2] if y >=x else  [2, 4]   # 上侧或右侧
        elif y <= 150:
            return  [1, 4] if y >=x else  [4]      # 左上右下或右下
        else:
            return [1, 2]           # 上侧
#普陀山    
def city_9(x,y):     
    return  [3] 

#五庄观
def city_10(x,y):   
    return  [3] 
             
#城市的映射表
city_logic_map = {
    0: city_0, #江南野外
    1: city_1, #大唐境外
    2: city_2, #建邺城
    3: city_3, #朱紫国
    4: city_4, #傲来国
    5: city_5, #宝象国
    6: city_6, #西凉女国
    7: city_7, #女儿村
    8: city_8, #长寿村
    9: city_9, #普陀山  固定左下，不用判断
    10: city_10,#五庄观 固定左下，不用判断
}                
                